Search and selection aid system

ABSTRACT

The invention concerns a system comprising means for encoding data concerning said objects by (a) setting up a table (T) with hierarchical structure of the set of attributes (Cna) and contents (Cnu) associated with said objects; and (b) setting up for each stored object a file wherein each attribute of said object and its contents is identified by the specific code assigned to said attribute-contents pair in said table. Said system comprises calculating and interfacing means for, in response to a search request from an applicant, (c) constructing a first table containing the set of stored files concerning a request; (d) constructing a second table containing the set of contents present in any one of said files of the first table; (e) presenting the successive selections of attributes and contents to said applicant, in the hierarchical order defined in said second table; (f) updating the first table by selecting in said first table the files comprising said selected attribute-contents pair; (g) repeating said operations e) and f) until at least one predetermined condition is fulfilled; and (h) presenting the result of said search to said applicant when said condition is fulfilled.

[0001] The present invention relates to a method of processing data tosearch for and to assist with choosing objects from a set of objectsstored in the form of files in a data processing system, wherein eachobject Is associated with the content of each of several attributes, aswell as a data processing and man/machine interface system forimplementing the method.

[0002] Hereinafter, the term “object” designates any material ornon-material entity that can be described by a number of attributes,also referred to hereinafter as containers, which attributes can haveone of several given values referred to hereinafter as contents. In anordinary database, all of the attributes or containers are common to allthe files and the information from a file consists of the list of theassociated contents. These databases are searched using keywords,crossed criteria, etc. In very many cases, searching conventionaldatabases can yield no response or too many responses.

[0003] Thus, to find a web site on the Internet, it is necessary toconsult search engines which either give no response or offer thousandsor tens of thousands of responses. The user, faced with a long list ofresponses, is not able to refine the query and furthermore does not knowhow pertinent the responses offered can be expected to be.

[0004] The invention aims to provide a data processing system forsearching for objects that guarantees always to offer users responses,in the form of shortlists of pertinent responses, using data processingresources of limited power and offering fast processing and a reasonablequality/cost trade-off.

[0005] To this end, the invention proposes a data processing system forselecting objects from a set of objects stored in the form of files insaid system, wherein each object is identified by the content of each ofa plurality of attributes, comprising

[0006] a1) means for storing a hierarchically structured table of all ofthe attributes and contents associated with said objects, in which tablesaid attributes are classified hierarchically in a plurality of rows,each attribute of a secondary row is attached to a content of anattribute of hierarchically higher row, and each pair consisting of anattribute and its content is associated with a specific code,

[0007] a2) means for storing a file for each stored object, in whichfile each attribute of said object and its content is identified by thespecific code assigned to said attribute-content pair in said table, and

[0008] b) computation and interface means for, in response to a searchrequest from an enquirer:

[0009] c) constructing a first table (S) containing all the stored filesrelating to said request,

[0010] d) constructing, by means of said codes, and in accordance withsaid hierarchical structure of the attribute-content pairs, a secondtable (C) of the contents present in any of said files of the firsttable (S),

[0011] e) showing successive choices of attributes and contents to, saidenquirer, in the hierarchical order defined in said second table (C),

[0012] f) updating said first table (S) in response to the choice bysaid enquirer of an attribute-content pair consecutively to said stepe), by selecting in said first table (S) the files including saidselected attribute-content pair,

[0013] g) repeating said operations e) and f) until at least onepredetermined condition is satisfied, and

[0014] h) showing the result of said search to said enquirer when saidcondition is satisfied.

[0015] Thus the system according to the invention searches in steps,each step involving choosing an attribute or container from thoseavailable and choosing a content from those available in the chosenattribute or container. Each step leads to the presentation of onlypertinent information to the enquirer, since the enquirer is shown onlysearch criteria that lead to responses and search criteria are shownonly if there are responses.

[0016] According to one feature of the invention, said computation andInterface means e) for showing successive choices of attributes andcontents to said enquirer in the hierarchical order defined In saidsecond table (C) comprise:

[0017] e1) means for establishing, by exploring the highest hierarchicalrow not yet explored In said second table (C), a list of attributeshaving at least two contents represented in said first table (S),

[0018] and one of the two means comprising:

[0019] e2) means for showing said list of attributes to said enquirerwith a view to choosing one of said attributes if said list ofattributes comprises at least two attributes, and

[0020] e3) means for showing the contents of an attribute directly tosaid enquirer with a view to choosing one of said contents if said listof attributes comprises only said attribute.

[0021] In one embodiment of the invention, said means e2) for showingsaid list of attributes to said enquirer with a view to choosing one ofsaid attributes if said list of attributes comprises at least twoattributes comprise:

[0022] e21) means for establishing, in response to the choice of one ofsaid attributes by said enquirer, a list of contents of said chosenattribute represented in said first table (S), and

[0023] e22) means for showing said list of contents to said enquirerwith a view to choosing one of said contents.

[0024] In another embodiment of the invention:

[0025] said means e1) comprise means for establishing, for each of saidattributes from said list of attributes, a list of the contents of thatattribute that are represented in said first table (S), and

[0026] said means e2) comprise means for showing said enquirer all theattribute-content pairs selected by said means e1), with a view to saidenquirer choosing one of said pairs.

[0027] The invention also has one or more of the following featurestaken singly or in combination:

[0028] said condition of the operation A) is satisfied If said list ofattributes established by said means e1) is empty.

[0029] said condition of the operation executed by said means g) issatisfied if the number of files in said first table (S) is less than apredetermined value.

[0030] said computation and interface means comprise means for showingsaid enquirer the number of said files in the first table (S)consecutively to said operations executed by said means c) and f).

[0031] said computation and interface means comprise means for showingsaid enquirer a list of the attribute-content pairs previously selectedconsecutively to said operations executed by said means c) and f).

[0032] said computation and interface means comprise means for showingsaid enquirer a list of the attribute-content pairs which, although notselected by the enquirer, are nevertheless common to all the remainingfiles (F), consecutively to said operations executed by said means c)and f).

[0033] said computation and interface means comprise means for:

[0034] defining at least one of said attribute-content pairsconstituting a priority search criterion,

[0035] constructing said first table (S) and said second table (C) ofsaid operations executed by said means c) and d) by selecting, from saidset of files, a subset of said files satisfying said criterion, and

[0036] executing said operations executed by said means e) to h) usingsaid subset of files.

[0037] said definition of a priority search criterion including the stepof prompting said enquirer to choose at least one priority criterionconsecutively to said step e), adding said priority criterion chosen bysaid enquirer to a list of priority criteria, and generating said subsetof files by selecting files from said set satisfying the prioritycriteria from said list.

[0038] said means for defining a priority search criterion comprisemeans for prompting said enquirer to choose at least one prioritycrterion consecutively to said operation executed by said means e),means for adding said priority criterion chosen by said enquirer to alist (P) of priority criteria, and means for generating said subset offiles by selecting files from said set satisfying the priority criteriafrom said list (P).

[0039] said system has a client-server architecture, said interfacemeans comprising a client terminal.

[0040] Other features and advantages of the invention will emerge fromthe following description of embodiments of the invention provided byway of example only and shown in the accompanying drawings, in which:

[0041]FIG. 1 is a table showing the hierarchical structure of allattributes or containers and contents associated with objects in asystem according to the invention,

[0042]FIG. 2 is a table similar to the FIG. 1 table, showing thecontainers and the contents in the case of a practical application,

[0043] FIGS. 3 to 9 are flowcharts executed by the system according tothe invention, and

[0044] FIGS. 10 to 13 are tables illustrating one example of contentscoding used by the system according to the invention.

[0045] Reference will first be made to table T in FIG. 1 which shows thehierarchical structure of all containers and contents associated withobjects stored in a data processing resource and which can be searched.

[0046] The objects are represented by files F comprising:

[0047] firstly, diverse information which cannot be searched using themechanisms of the invention, for example texts, pictures, digital dataand/or other information of any kind, and

[0048] secondly, container-content (cna-cnu) pairs, each of which canhave one of several contents, which belong to the FIG. 1 hierarchicaltable, and which serve equally as diverse information and searchcriteria.

[0049] The cna-cnu pairs of a file F constitute a subset of the FIG. 1table T and have the following property: if table T includes sub-pairscna-cnu of a particular pair cna-cnu belonging to the file, then one ofthose sub-pairs exists in the file, i.e. the file is complete.

[0050] As shown in FIG. 1, in the hierarchically structured table T, thecontainers and the contents are classified hierarchically into rows A,B, C, etc. and, each container of a secondary row is attached to acontent of a container of a hierarchically higher row. Thus a Container1 and a Container 2 in level or row A of the table correspond to mainclassification topics. Container 1 can have several possible values orcontents cnu1 a, cnu1 b, cnu1 c. There are four containers in hierarchylevel or row B corresponding to sub-topics. The containers cnu1 a 1 andcnu1 a 2 are attached to the content cnu1 a. Similarly, the containerscnu1 b 1 and enu1 b 2 are attached to the content cnu1 b. In the samehierarchy level or row B, the container cnu1 a 1 can have two possiblevalues or contents, cnu1 a 1 a or cnu1 a 1 b. By working through thetree structure of the FIG. 1 hierarchy table T, it is possible todescribe all of the container-content pairs of any of the files F andthe hierarchical links of the various pairs in the file.

[0051]FIG. 2 shows an application of the FIG. 1 table T to the field ofreal estate. Thus the containers in the higher level or row A comprisethe type of property, the nature of the transaction on that property,and the location of the property. For the “Type of property” container,the content can be “Apartment” or “House”, for the “transaction”container, the content can be “Sale” or “Rental”, etc. In the nexthierarchy row or level B, the containers (Numbers of rooms, Floor, Plot,Price, etc.) are each attached to one of the contents of the higherhierarchical row: the “Number of rooms” and “Floor” containers areattached to the “Apartment” content and the “Plot” container is attachedto the “House” content.

[0052] As a result of the foregoing, each container-content pair in theFIG. 1 hierarchy table T is unique and can be associated with a specificcode for designating said pairs in the files F.

[0053] Reference will also be made to the flowcharts of FIGS. 3 to 9,which show the mechanisms employed to search a set of files F coded inaccordance with the hierarchical structure of the FIG. 1 table.

[0054] The FIG. 3 general flowchart headed SUCCESSIVE SELECTIONS showssuccessive choices of containers and contents to an enquirer until ashortlist is obtained. Step 1 corresponds to starting a search, i.e. topreparing tables S and C intended to reflect all of the existing files Fto be used for the search.

[0055] The table S is a table of the selected files F and theircontainer-content pairs, this first table being constantly updated asthe search proceeds.

[0056] The second table C is a table of contents present in any of thefiles from the first table S. If each file F Is considered as a subsetof contents, then the table C can be considered as the set consisting ofthe union of the subsets F, on the understanding that each containercontent pair is shown only once in the table C. Moreover, this table isorganized in accordance with the hierarchical structure of the table Tto reflect the hierarchy of the container-content pairs. This means thatthe containers are represented only implicitly in this table, becauseeach content has a specific code, from which its-container can bededuced as shown by table T.

[0057] If, after starting the search in step 1, it is found that thetotal number of stored files to be searched is less than a predeterminedvalue, the test 2 leads directly to showing the enquirer a list of allthe existing files in step 3.

[0058] If the number of files from the table S generated in step 1 isgreater than said predetermined value, i.e. if the list is not ashortlist, test 2 leads to a container/content choice step 4. This step4 corresponds to a module of which a first embodiment is shown in FIG. 4and a second embodiment is shown in FIG. 5.

[0059] After step or module 4, whether a container/content choice isstill possible is examined in step 5. If there is still at least onechoice, test 5 loops to the input of test 2. If not, the process goesdirect to step 3 showing the list of files found.

[0060] If the number of files shown to the enquirer exceeds apredetermined parameter, this indicates that it is desirable to refinethe search by refining the container (attribute)-content criteriadepending on those chosen. In other words, it is necessary to add searchcriteria (containers and their contents) and/or to add contents for oneor more existing containers (attributes). In this case there Is theoption of a command to advise the manager of the definition of thecriteria.

[0061]FIG. 4 shows a first embodiment 4.1 of the module 4 from FIG. 3.The module 4.1 begins with a step 10 headed DIVISIBLE CONTAINERS andshown in the FIGS. 6 and 7 flowcharts. The aim of the module 10 is tocreate a list of containers by hierarchically searching the second tableC for containers having at least two contents represented in the firsttable S.

[0062] Referring to FIG. 6, in step 100 the module 10 begins byexploring the highest hierarchy row not yet explored in the second tableC to determine the container-content pairs of that row. In step 101 eachcontainer is processed in a manner described below with reference toFIG. 7 and in step 102 a list of containers is provided in order to beshown to the enquirer (as described below).

[0063] Referring to FIG. 7, step or module 101 begins with a step 200 ofsearching whether the container processed has a content represented inthe table S. If no content is found In step 201, i.e. if the result isR0, the process goes direct to a step 202 on completion of theprocessing of the container concerned. If the response to test 201 ispositive, the next step is a step 203 of searching whether the containerprocessed has a second content represented in the table S. If the resultof test 204 is negative, i.e. if the container has only one content R1,the container is ignored, but the search continues with step 205 byprocessing also all of the containers dependent on the content that hasbeen found.

[0064] If the response to test 204 is positive, the result is Rn, i.e.at least two different contents have been found In the table S for thecontainer being processed. The container processed is added in step 206to the list of results and the processing of that container then ends instep 202.

[0065] The step 101 of processing a container (FIG. 7) Is repeated foreach of the containers selected in step 100 (FIG. 6) until all theselected containers have been used up. A list of all the containershaving at least two contents represented in the table S is thenavailable in step 102, being understood that there are not shown thereincontainers having at least two contents but which are hierarchicallydependent on another container that is also in the list.

[0066] Referring again to FIG. 4, if test 11 shows that the list of thecontainers 102 is empty, i.e. if there is no choice to be proposed tothe enquirer, as indicated in step 12, the list of files found Is shownin step 3 (FIG. 3).

[0067] If test 11 shows that the list of containers 102 is not empty,whether the list comprises one or more containers Is examined in step13. If the list comprises several containers, they are shown to theenquirer in step 14, who chooses one of the containers in step 15.

[0068] When the enquirer has chosen a container in step 15, or if test13 determines that the list of the containers 102 contains only onecontainer, the SELECT CONTENTS module of step 16 creates a list ofcontents represented in the table S for the single container or thecontainer chosen by the enquirer in step 15.

[0069] Referring to FIG. 8, the first step 300 of the SELECT CONTENTSmodule 16 consists of marking In the table C the container chosen instep 15 or a single container from the list 102, referred to hereinafteras the container CNA, and then finding the first content CNU of thatcontainer. The next step 301 searches whether the CNA-CNU pair is in afile from the table S. If this proves to be the case in step 302, instep 303 the content CNU Is added to the list of the contents of thecontainer CNA. The number of files from the table S comprising theCNA-CNU pair Is optionally computed in step 303, and a list of the filesfrom the table S that includes the CAN-CNU pair is created.

[0070] Next, a test 304 determines if the container CNA contains othercontents. If so, the next content is processed In step 305, after whichstep 301 is repeated to determine if the new CNA-CNU pair is in one ofthe files from the table S. The steps 302, 303 and 304 are then repeateduntil all the contents of the container CNA have been examined. If,during this process, it is found that a CNA-CNU pair is not part of oneof the files from the table S, the response to test 302 is negative, andthe next step is then a test 304, which means that the content inquestion is not added to the list of results.

[0071] When all the contents of a container CNA have been examined, thelist of the selected contents is supplied in step 306 and shown to theenquirer in step 17 (FIG. 4). The enquirer chooses a content from thoseshown to him in step 18 and the next step is a reduction step 19 whicheliminates from the table S all of the files that do not contain one ofthe container-content pairs indicated by the enquirer. The enquirer canoptionally be shown a list of the container-content pairs which,although the enquirer has never selected them, are nevertheless commonto all of the remaining files. These are pairs that have been deducedduring the search process in order to eliminate containers having onlyone possible content; this elimination stems from the choice R1 made instep 204 (FIG. 7).

[0072] After a step 20, which Indicates that the enquirer has made achoice of container in step 15 and of content in step 18, there is aloop to the input of test 2 (FIG. 3) to determine if the list of thefiles contained in the table S is a shortlist or not. If it is ashortlist, the search is terminated and the next step is step 3 ofshowing the files found; otherwise the module 4 processed in the mannerdescribed above is repeated to explore the containers and contentssuccessively in hierarchical order until a shortlist is obtained. Ashortlist is a list in which the number of files is less than or equalto a predetermined value, for example ten files.

[0073]FIG. 5 shows a second embodiment 4.2 of the FIG. 3 module 4 inwhich the module 10 determines at the same time all of the divisiblecontainers (FIG. 6) and all the possible contents of each of thedivisible containers found by the module 16 (FIG. 8). As In the FIG. 4embodiment, the process goes direct to a step 12 returning to step 3 ifit is found in step 11 that there is no container having at least twocontents represented In the table S. Otherwise, the SELECT CONTENTSmodule 16 is executed for each of the containers found and all of thecontainer-content pairs, i.e, the pairs offering a choice, are thenshown to the enquirer in step 21.

[0074] In step 22 the enquirer chooses a pair and in step 23 thereduction of step 19 (FIG. 4) is performed. Step 24 indicates that acontainer-content pair has been chosen, and there is then a loop to theinput of test 2, as In the FIG. 4 module. As previously indicated, theSUCCESSIVE SELECTIONS process then continues until a shortlist isobtained.

[0075] The FIG. 9 flowchart shows a different embodiment of themechanisms from FIGS. 3 to 8 whereby the successive selection processcan be initialized by applying priority criteria necessarily yieldingone or more responses.

[0076] These priority selection criteria (container/content pairs) canbe predefined, for example:

[0077] by an extract from earlier selections (as described below withreference to FIG. 9);

[0078] as a function of a dependency on the mean used to access thesearch system;

[0079] as a function of the profile of the enquirer;

[0080] as a function of the geographical location of the enquirer,previously specified by the enquirer or detected using the GPS or a likesystem;

[0081] by an unrestricted preliminary full text search covering all thecontainers/contents of all the files;

[0082] in response to the enquirer specifying the processing only offiles supplied by one or more particular organizations;

[0083] etc.

[0084] the above being not an exhaustive list.

[0085] Referring to FIG. 9, step 401 corresponds to the optionalpredefinition of one or more priority criteria. The list P referred tohereinafter is a list of priority criteria.

[0086] The next-step 402 automatically applies to all of the files F allof the priority criteria that have been predefined, in order to preparethe tables S and C described above.

[0087] The FIG. 3 SUCCESSIVE SELECTIONS algorithm is then executed instep 403 using the files remaining after step 402 (steps 401 and 402correspond to the search initialization phase 1); this entailssuccessive choices by the enquirer, as previously described.

[0088] When the FIG. 3 algorithm has been executed, the enquirer canchoose one or more priority criteria in step 404.

[0089] If the enquirer chooses to apply one or more priority criteria tothe search in step 404, this means that the enquirer has noticed thatthe criterion or criteria concerned is or are more important than anythe enquirer might have selected using the FIG. 3 algorithm. Theenquirer therefore wishes to apply the priority criterion or criteriaalready obtained to all of the files F.

[0090] A positive response to test 404 therefore leads to completing instep 405 the list P of priority criteria already obtained by addingthose newly chosen. By construction, the list P of priority criteriagives at least one response. The next step is step 402 in which thepriority criteria from the list P completed in step 405 are appliedautomatically to all of the files F and the SUCCESSIVE SELECTIONSprocess is started again and continues until a negative response Isobtained to test 404. The search then ends in step 406.

[0091] Reference will be made to the tables in FIGS. 10 to 13 whichillustrate one example of coding contents by tables of bits forimplementing the mechanism described above.

[0092]FIG. 10 is a tree form of representation equivalent to the FIG. 1table T. In this embodiment, each content of the tree hierarchy table isnumbered in the order in which it is encountered when working throughthe tree recursively; thus the first content that depends on thecontainer Cna1 in hierarchy level or row A is numbered 1 (Cnu1 in FIG.10), the contents of the container Cna1.1.1 (row B) dependent on Cnu1are numbered 2 and 3 (Cnu2 and Cnu3), etc. In the FIG. 10 example thereare nine contents.

[0093] As shown in FIG. 11, the file F describing each object comprisesa table having as many memory locations as there are contents in theFIG. 10 table or tree, i.e. nine contents in the example consideredhere. Each of these memory locations can take the logic value 1 if thecorresponding content of the table T is included in the file and thelogic value 0 if not. The position of each memory location in the fileF, i.e. its address, corresponds to a content number allocated in thetable T as shown in FIG. 11. Thus each memory location of the file F isassociated on a one-to-one basis with a container-content pair from thetable T.

[0094] At all times during the search process, the table S Is made up ofall of the files F that have been selected up until that point.Referring to FIG. 12, it is assumed that after a first choice of acontainer Cna1 by an enquirer, there remain four files F1, F2, F3 and F4in the table S. Those files have the following contents:

[0095] F1: Cnu1, Cnu3, Cnu7 and Cnu8,

[0096] F2: Cnu4, Cnu5, Cnu7 and Cnu9,

[0097] F3: Cnu4, Cnu6, Cnu7 and Cnu9, and

[0098] F4: Cnu1, Cnu2, Cnu7, and Cnu8.

[0099] Given that, in the preceding phase, the enquirer chose thecontainer Cna1, the enquirer is now prompted to choose between thecontents Cnu1 and Cnu4. If the enquirer chooses Cnu1, the table Sthereafter comprises only-the files F1 and F4, and as shown in FIG. 13,the table C is deduced directly from the table S, by applying aninclusive-OR operator to each of the bits of the same order in each ofthe selected files (F1 and F4).

[0100] The table C is therefore organized in the same manner as a fileF: the bits or memory locations constituting the table are stored in theorder of hierarchical exploration of the contents of the table T. Theorder number of the bit also enables the description of the content tobe-found in one or more auxiliary files, not shown (for example one filefor each language), and vice versa. This also allows grouping of thebits of the contents that are dependent on the same container,irrespective of the hierarchical difference between the container andthe contents concerned. In the example considered here, the order Is asfollows: Cnu1, Cnu2, Cnu3, Cnu4, Cnu5, Cnu6, Cnu7, Cnu8, Cnu9.

[0101] The advantage of this coding mode is that it provides a verycompact representation of the table T, the files F and the tables S andC if the average number of contents per container in the table T is low.A plurality of contents can be represented in a single machine word.This mode of coding and organization further offers the possibility ofapplying the OR logic operator to the whole of a machine word, and thusto a plurality of contents at a time, which yields a considerabletimesaving in finding the contents represented in any of the remainingfiles. Moreover, when the FIG. 8 SELECT CONTENTS module 16 is executed,it is possible to test a plurality of contents simultaneously (as manycontents as there are bits in a machine word), which accelerates thismodule. The drawback is that initializing the search necessitatesscanning all the files, which can be circumvented by putting togetherpresorted auxiliary tables for analyzing the first criterion introduced.

[0102] In practice, the FIG. 12 table S is a table of pointers to eachof the files F selected in the set of files searched.

[0103] The table S initially contains a list of all the files F and amarker indicates the total number of files selected. In each step of thesearch, all the files up to the marker are analyzed, the files retainedare pushed to one end of the table, and the marker is moved to indicatethe new number of remaining files.

[0104] The rejected files can optionally be compacted at the other endof the table, which can therefore be segmented as a function of thesearch steps so that a search step can be returned to quickly.

[0105] As a result of the foregoing, the method and the system describedare particularly suitable for multicritera searching when the topic ofthe search allows the criteria to be organized in a hierarchical manner.Of course, the hierarchical tree or structure of the table T varies as afunction of the topic considered, i.e. is not the same according towhether the topic relates, for example, to automobiles, real estate,domestic appliances, etc. The search method described can be preceded bya traditional search, for example using keywords, to select the topic toconstitute the root R of all the containers to be searched in the mannerdescribed with reference to FIGS. 3 to 9.

[0106] The data processing system for implementing the mechanismsdescribed requires data storage means to store the table T, the files Fand the tables C and S, computation means to execute the processdescribed with reference to FIGS. 3 to 9, and interface means forshowing choices to the enquirer, enabling the enquirer to make choices,and for showing the enquirer the result of those choices. The dataprocessing system can be of any kind, in particular a client-serverarchitecture system accessed via a network such as the Internet from aclient terminal such as a personal computer, a mobile telephone withdata entry or voice recognition, etc.

[0107] The choices offered to an enquirer can be shown to the enquireron the screen of the terminal in the form of dynamic pages consisting ofone or more of the following windows, for example:

[0108] a window showing a reactive geographical map with color shades orpictograms depending on the number of responses specific to eachlocation (country, region, county, town);

[0109] a window representing reactive vertical histograms showingprices, measurements or qualities (weight, size, area, room size,distance, timetable, period, color, etc.);

[0110] a window of remaining possibilities with the selection criteria(attributes or containers) still available and, for each of thosecriteria, a list of the values or contents available, opposite thenumber of responses, shown in the form of horizontal histograms orpull-down menus;

[0111] a window representing the choices already made by the enquirer inthe form of a virtual file comprising a list of containers and contentsthat is added to as and when successive choices are made;

[0112] a window of results summarized in the form of two-dimensionaltables with reactive elements (photos, texts, headings, logos, pull-downmenus, etc.) or in the form of dynamic cumulative totals showngraphically (pie charts, histograms, etc.);

[0113] etc.

[0114] The elements of the various windows are reactive in the sensethat they enable a choice to be made by using a mouse to move a pointerover the elements concerned, as is now the norm.

[0115] It goes without saying that the embodiments described are merelyexamples which can be modified without departing from the scope of theinvention, in particular by substituting technical equivalents.

1. A data processing system for selectlng objects from a set of objects stored in the form of files in said system, wherein each object is identified by the content of each of a plurality of attributes, characterized in that it comprises: a1) means for storing a hierarchically structured table of all of the attributes and contents associated with said objects, in which table said attributes are classified hierarchically in a plurality of rows, each attribute of a secondary row is attached to a content of an attribute of hierarchically higher row, and each pair consisting of an attribute and its content is associated with a specific code, a2) means for storing a file for each stored object, in which file each attribute of said object and its content is identified by the specific code assigned to said attribute-content pair in said table, and b) computation and interface means for, in response to a search request from an enquirer: c) constructing a first table (S) containing all the stored files relating to said request, d) constructing, by means of said codes, and in accordance with said hierarchical structure of the attribute-content pairs, a second table (C) of the contents present in any of said files of the first table (S), e) showing successive choices of attributes and contents to said enquirer, in the hierarchical order defined in said second table (C), f) updating said first table (S) in response to the choice by said enquirer of an attribute-content pair consecutively to said step e), by selecting in said first table (S) the files including said selected attribute-content pair, g) repeating said operations e) and f) until at least one predetermined condition is satisfied, and h) showing the result of said search to said enquirer when said condition is satisfied.
 2. A system according to claim 1, characterized in that said computation and interface means e) for showing-successive choices of attributes and contents to said enquirer in the hierarchical order defined in said second table (C) comprise: e1) means for establishing, by exploring the highest hierarchical row not yet explored in said second table (C), a list of attributes having at least two contents represented in said first table (S), and one of the two means comprising: e2) means for showing said list of attributes to said enquirer with a view to choosing one of said attributes if said list of attributes comprises at least two attributes, and e3) means for showing the contents of an attribute directly to said enquirer with a view to choosing one of said contents if said list of attributes comprises only said attribute.
 3. A system according to claim 2, characterized in that said means e2) for showing said list of attributes to said enquirer with a view to choosing one of said attributes if said list of attributes comprises at least two attributes comprise: e21) means for establishing, in response to the choice of one of said attributes by said enquirer, a list of contents of said chosen attribute represented in said first table (S), and e22) means for showing said list of contents to said enquirer with a view to choosing one of said contents.
 4. A system according to claim 2, characterized in that: said means e1) comprise means for establishing, for each of said attributes from said list of attributes, a list of the contents of that attribute that are represented in said first table (S), and said means e2) comprise means for showing said enquirer all the attribute-content pairs selected by said means e1), with a view to said enquirer choosing one of said pairs.
 5. A system according to any of claims 2 to 4, characterized in that said condition of the operation g) is satisfied if said list of attributes established by said means e1) is empty.
 6. A system according to any of claims 1 to 5, characterized in that said condition of the operation executed by said means g) is satisfied if the number of files in said first table (S) is less than a predetermined value.
 7. A system according to any of claims 1 to 6, characterized in that said computation and interface means comprise means for showing said enquirer the number of said files in the first table (S) consecutively to said operations executed by said means c) and f).
 8. A system according to any of claims 1 to 7, characterized in that said comnputation and interface means comprise means for showing said enquirer a list of the attribute-content pairs previously selected consecutively to said operations executed by said means c) and f).
 9. A system according to any of claims 1 to 8, characterized in that said computation and interface means comprise means for showing said enquirer a list of the attribute-content pairs which, although not selected by the enquirer, are nevertheless common-to all the remaining files (F), consecutively to said operations execu-ted by said means c) and f).
 10. A system according to any of claims 1 to 9, characterized in that said computation and interface means comprise means for: defining at least one of said attribute-content pairs constituting a priority search criterion, constructing said first table (S) and said second table (C) of said operations executed by said means c) and d) by selecting, from all of said files, a subset of said files satisfying said criterion, and executing said operations executed by said means e) to h) using said subset of files.
 11. A system according to claim 10, characterized in that said means for defining a priority search criterion comprise means for prompting said enquirer to choose at least one priority criterion consecutively to said operation executed by said means e), means for adding said priority criterion chosen by said enquirer to a list (P) of priority criteria, and means for generating said subset of files by selecting files from said set satisfying the priority criteria from said list (P).
 12. A system according to any of claims 1 to 11, characterized in that it has a client-server architecture, said interface means comprising a client terminal. 